package Modelo;

public class Entero implements Numeros {
	private int v;

	// constructor
	public Entero(int n){
		v=n;
	}	
	
	//metodos
	public Numeros dividir(Numeros n) {
		if(n instanceof Entero){
			Entero num= (Entero) n;
			return new Entero(v/num.v);
		}
	//	if(n instanceof Real){
			Real num= (Real) n;
			return new Real(this.toReal()/num.toReal());
	//	}
	}

	public Numeros multiplicar(Numeros n) {
		if(n instanceof Entero){
			Entero num= (Entero) n;
			return new Entero(v*num.v);
		}
	//	if(n instanceof Real){
			Real num= (Real) n;
			return new Real(this.toReal()*num.toReal());
	//	}
	}

	public Numeros restar(Numeros n) {
		if(n instanceof Entero){
			Entero num= (Entero) n;
			return new Entero(v-num.v);
		}
	//	if(n instanceof Real){
			Real num= (Real) n;
			return new Real(this.toReal()-num.toReal());
	//	}
	}

	public Numeros sumar(Numeros n) {
		if(n instanceof Entero){
			Entero num= (Entero) n;
			return new Entero(v+num.v);
		}
	//	if(n instanceof Real){
			Real num= (Real) n;
			return new Real(this.toReal()+num.toReal());
	//	}
	}

	public int compareTo(Object o) {
		if(o instanceof Entero){
			int val=((Numeros) o).toEnt();
			if(v<val)
				return -1;
			if(v>val)
				return 1;
			return 0;
		}
		
		if(o instanceof Real){
			float val=((Real) o).toReal();
			if(this.toReal()<val)
				return -1;
			if(this.toReal()>val)
				return 1;
			return 0;
		}
		return 0;
	}
	
	public int toEnt() {
		return v;
	}

	public float toReal() {
		return (float) v;
	}
}
